package com.sinog.front.feign.biz;

import com.sinog.core.model.UserDTO;
import com.sinog.core.utilbean.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;

/**
 * @desc 安置帮教管理 - 帮教工作信息管理 - 救助管理
 * @author sunsf
 * @date 2020-02-16-14:06
 */
@FeignClient("sinog2c-biz")
public interface BjgzInfoService {

    /**
     * 获取基本信息
     * @param priNum priNum
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getPrisonerBaseInfo")
    Result getPrisonerBaseInfo(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 救助管理 - 救助 - 保存
     * @param dataStr 业务数据
     * @param userDto userDto
     * @param edit edit
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveJzInfo")
    Result saveJzInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO userDto,@RequestParam(value = "edit") String edit);

    /**
     * 获取救助信息
     * @param jzId jzId
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getJzBaseInfo")
    Result getJzBaseInfo(@RequestParam(value = "jzId", required = false) String jzId);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 帮教管理 - 帮教 - 保存
     * @param dataStr 业务数据
     * @param userDto userDto
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveBjInfo")
    Result saveBjInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO userDto);

    /**
     * 获取帮教信息
     * @param pp pp
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getBjBaseInfo")
    Result getBjBaseInfo(@RequestParam(value = "pp", required = false) String pp);

    /**
     * 帮教工作管理 - 年度鉴定 - 鉴定 - 保存
     * @param dataStr 业务数据
     * @param userDto userDto
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveJdInfo")
    Result saveJdInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO userDto);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 年度鉴定 - 鉴定 - 删除
     * @param id 年度鉴定编号
     * @param priNum 服刑人员编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/toDelAppraise")
    Result toDelAppraise(
            @RequestParam(value = "id", required = false) String id,
            @RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 救助管理 - 救助 - 列表
     * @param priNum 服刑人员编号
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getJzInfoList")
    List<Map<String,Object>> getJzInfoList(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 救助管理 - 救助 - 删除
     * @param jzId 救助编号
     * @param priNum 服刑人员编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/delJzInfoAction")
    Result delJzInfoAction(
            @RequestParam(value = "jzId", required = false) String jzId,
            @RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 帮教管理 - 帮教 - 列表
     * @param priNum 服刑人员编号
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getBjInfoList")
    List<Map<String,Object>> getBjInfoList(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 帮教管理 - 帮教 - 删除
     * @param pp 帮教标志位
     * @param priNum 服刑人员编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/delBjInfoAction")
    Result delBjInfoAction(
            @RequestParam(value = "pp", required = false) String pp,
            @RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 帮教工作信息管理管理 - 帮扶 - 帮扶信息 - 社会公益组织 - 列表
     * @param zzType zzType
     * @param user user
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getShgyzzInfoList")
    List<Map<String,Object>> getShgyzzInfoList(
            @RequestParam(value = "zzType", required = false) String zzType,@RequestBody UserDTO user);

    /**
     * 帮教工作管理--帮教管理--帮教信息--党政及家庭教育保存
     * @param dataStr 业务数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveBjDzInfo")
    Result saveBjDzInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO user);

    /**
     * 帮教工作管理--帮教管理--帮教信息--社会组织保存
     * @param dataStr 业务数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveBjShzzInfo")
    Result saveBjShzzInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO user);

    /**
     * 帮教工作管理--帮教管理--帮教信息--志愿者保存
     * @param dataStr 业务数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveBjZyzInfo")
    Result saveBjZyzInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO user);

    /**
     * 帮教工作管理--帮教管理--帮教信息--排查保存
     * @param dataStr 业务数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/saveBjPcInfo")
    Result saveBjPcInfo(@RequestParam(value = "dataStr", required = false) String dataStr,@RequestBody UserDTO user);

    /**
     * 获取帮教--党政--信息
     * @param pp pp
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getBjDzBaseInfo")
    Result getBjDzBaseInfo(@RequestParam(value = "pp", required = false) String pp);

    /**
     * 获取帮教--社会组织--信息
     * @param pp pp
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getBjShzzBaseInfo")
    Result getBjShzzBaseInfo(@RequestParam(value = "pp", required = false) String pp);

    /**
     * 获取帮教--志愿者--信息
     * @param pp pp
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getBjZyzBaseInfo")
    Result getBjZyzBaseInfo(@RequestParam(value = "pp", required = false) String pp);

    /**
     * 获取帮教--排查--信息
     * @param pp pp
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getBjPcBaseInfo")
    Result getBjPcBaseInfo(@RequestParam(value = "pp", required = false) String pp);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 帮教管理 - 帮教 - 就业信息列表
     * @param priNum 服刑人员编号
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getBjJyxxInfoList")
    List<Map<String,Object>> getBjJyxxInfoList(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 帮教管理 - 帮教 - 培训信息列表
     * @param priNum 服刑人员编号
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getBjPxjgInfoList")
    List<Map<String,Object>> getBjPxjgInfoList(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 帮教工作信息管理管理 - 帮教 - 帮教信息 - 自主创业
     * @param priNum 服刑人员编号
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/azbjgl/bjdxInfo/bjgzgl/getBjZzcyInfoList")
    List<Map<String,Object>> getBjZzcyInfoList(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 获取查看鉴定信息
     * @param priNum 服刑人员编号
     * @param id 年度鉴定编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getJdViewBaseInfo")
    Result getJdViewBaseInfo(
            @RequestParam(value = "priNum", required = false) String priNum,
            @RequestParam(value = "id", required = false) String id);

    /**
     * 获取编辑鉴定信息
     * @param priNum 服刑人员编号
     * @param id 年定信息编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getJdEditBaseInfo")
    Result getJdEditBaseInfo(
            @RequestParam(value = "priNum", required = false) String priNum,
            @RequestParam(value = "id", required = false) String id);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 年度鉴定 - 鉴定 - 列表
     * @param pageIndex 起始页
     * @param pageSize 止页
     * @param map map
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getJdBaseInfoList")
    String getJdBaseInfoList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,@RequestBody Map<String,Object> map);

    /**
     * 鉴定人员详细列表
     * @param priNum 服刑人员编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getPingguInfo")
    Result getPingguInfo(@RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 查找服刑人员的鉴定年份
     * @param niandu 鉴定年份
     * @param priNum 服刑人员编号
     * @return Result
     */
    @RequestMapping("/azbj/azbjgl/bjnfcz/findjdnf")
    Result findjdnf(
            @RequestParam(value = "niandu", required = false) String niandu,
            @RequestParam(value = "priNum", required = false) String priNum);

    /**
     * 安置帮教管理 - 帮教工作信息管理 - 年度鉴定 - 列表
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param map map
     * @return String
     */
    @RequestMapping("/azbj/azbjgl/bjgzgl/getJdInfoList")
    String getJdInfoList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,@RequestBody Map<String,Object> map);
}